
let  app = angular.module('testApp',[]);
// $scope 是一个应用对象(属于应用变量和函数)
//$scope （相当于作用域、控制范围）用来保存AngularJS Model(模型)的对象。

app.controller('seviceController',function ($scope, $location, $http, $timeout,$interval,$zbService) {
    //1、$location 服务，它可以返回当前页面的 URL 地址。
    // $location 服务比使用 window.location 对象更好
    $scope.locationURL = $location.absUrl() + '----' + $location.host();


    // 2、$http 是 AngularJS 应用中最常用的服务。 服务向服务器发送请求，应用响应服务器传送过来的数据。
    // $http.get('2.AngularJS过滤器.html').then(function (response) {
    //     // $scope.myWelcome = response.data;
    //       console.log(response.data);
    // }) //封装的XMLHttpRequest
    $http(
        {
            method:'GET',
            url:'package.json',  // 网络数据会CORS 安全验证跨域问题
            headers:{"Content-Type":"application/x-www-form-urlencoded"},
        },
    ).then(function successBlock(response) {
        // 请求成功执行代码
        $scope.responseDataList = response.data.sites;
        console.log(response.data);
    },function failBlock(error) {
        // 请求失败执行代码
        console.log(error);
    },function processBlock(progress) {
        // 请求进度执行代码
        console.log(progress);
    });
    /*
    $http.get
    $http.head
    $http.post
    $http.put
    $http.delete
    $http.jsonp
    $http.patch
    https://docs.angularjs.org/api/ng/service/$http
    */

    $scope.callBackLink = function(url){
          console.log(url);
         // $location = url;  //默认是拼接URL 不会跳转
        window.open(url);
    };

    //3、AngularJS $timeout 服务对应了 JS window.timeout 函数
    $timeout(function () {
        $scope.myHeader = 'How are ok';
    },3000);


    //4、AngularJS $interval 服务对应了 JS window.setInterval 函数
    $scope.currentTime = new Date().toLocaleTimeString();
    $interval(function () {
      $scope.currentTime = new Date().toLocaleTimeString();;
    },1000);


    //5.自定义服务
     $scope.customSevice = $zbService.zbfunc(343443);


     //6.自定义过滤器和服务
    $scope.customFilterSevice = 'AAAbbb4444';


});

//自定义服务
app.service('$zbService',function () {
    this.zbfunc =  function (x) {
        return x.toString() + '  custom sevice';
    }
});

//自定义过滤器
app.filter('zbFormat',['$zbService',function ($zbService) {
       return function (text) {
           return $zbService.zbfunc(text);
       };
}]);


